using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
 using System.Data.SqlClient;
 using MinhTam.DataAccess.Web;
//───────────────────────────────────────────────────────────────────────────────────────
 namespace MinhTam.Objects
  { 
 public class LOAI_BAI_VIET:  SQLConnectWeb { 
 public static string sTableName= "LOAI_BAI_VIET"; 
   public string LOAI_BAI_VIET_ID;
   public string TEN_LOAI;
   public string SAP_XEP;
   public string SU_DUNG;
   #region DataColumn Name ;
 public static  string cl_LOAI_BAI_VIET_ID="LOAI_BAI_VIET_ID" ;
 public static  string cl_TEN_LOAI="TEN_LOAI" ;
 public static  string cl_SAP_XEP="SAP_XEP" ;
 public static  string cl_SU_DUNG="SU_DUNG" ;
 #endregion;
//───────────────────────────────────────────────────────────────────────────────────────
       public LOAI_BAI_VIET() {}
//───────────────────────────────────────────────────────────────────────────────────────
       public LOAI_BAI_VIET(
         string sLOAI_BAI_VIET_ID,
         string sTEN_LOAI,
         string sSAP_XEP,
         string sSU_DUNG){
         this.LOAI_BAI_VIET_ID= sLOAI_BAI_VIET_ID;
         this.TEN_LOAI= sTEN_LOAI;
         this.SAP_XEP= sSAP_XEP;
         this.SU_DUNG= sSU_DUNG;
}
//───────────────────────────────────────────────────────────────────────────────────────
       public static LOAI_BAI_VIET Create_LOAI_BAI_VIET ( string sLOAI_BAI_VIET_ID  ){
    DataTable dt=SearchByLOAI_BAI_VIET_ID(sLOAI_BAI_VIET_ID) ;
    if(dt!=null && dt.Rows.Count>0) 
      return new LOAI_BAI_VIET(dt,0);
      return null;
}
//───────────────────────────────────────────────────────────────────────────────────────
   private static string s_Select()
    {
   return " SELECT T.* FROM LOAI_BAI_VIET AS T";
    }
//───────────────────────────────────────────────────────────────────────────────────────
 public LOAI_BAI_VIET( DataTable table,int pos)
{
         this.LOAI_BAI_VIET_ID= table.Rows[pos]["LOAI_BAI_VIET_ID"].ToString();
         this.TEN_LOAI= table.Rows[pos]["TEN_LOAI"].ToString();
         this.SAP_XEP= table.Rows[pos]["SAP_XEP"].ToString();
         this.SU_DUNG= table.Rows[pos]["SU_DUNG"].ToString();
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByLOAI_BAI_VIET_ID(string sLOAI_BAI_VIET_ID)
{
          string sqlSelect= s_Select()+ " WHERE LOAI_BAI_VIET_ID  ="+ sLOAI_BAI_VIET_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByLOAI_BAI_VIET_ID(string sLOAI_BAI_VIET_ID,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE LOAI_BAI_VIET_ID"+ sMatch +sLOAI_BAI_VIET_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByTEN_LOAI(string sTEN_LOAI)
{
          string sqlSelect= s_Select()+ " WHERE TEN_LOAI  Like N'%"+ sTEN_LOAI + "%'"; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchBySAP_XEP(string sSAP_XEP)
{
          string sqlSelect= s_Select()+ " WHERE SAP_XEP  ="+ sSAP_XEP + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchBySAP_XEP(string sSAP_XEP,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE SAP_XEP"+ sMatch +sSAP_XEP + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchBySU_DUNG(string sSU_DUNG)
{
          string sqlSelect= s_Select()+ " WHERE SU_DUNG  Like N'%"+ sSU_DUNG + "%'"; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable Search( string sLOAI_BAI_VIET_ID
            , string sTEN_LOAI
            , string sSAP_XEP
            , string sSU_DUNG
            )
 {
       string sqlselect=s_Select() + " WHERE" ;
      if (sLOAI_BAI_VIET_ID!=null && sLOAI_BAI_VIET_ID!="") 
            sqlselect +=" AND LOAI_BAI_VIET_ID =" + sLOAI_BAI_VIET_ID ;
      if (sTEN_LOAI!=null && sTEN_LOAI!="") 
            sqlselect +=" AND TEN_LOAI LIKE N'%" + sTEN_LOAI +"%'" ;
      if (sSAP_XEP!=null && sSAP_XEP!="") 
            sqlselect +=" AND SAP_XEP =" + sSAP_XEP ;
      if (sSU_DUNG!=null && sSU_DUNG!="") 
            sqlselect +=" AND SU_DUNG LIKE N'%" + sSU_DUNG +"%'" ;
   sqlselect=sqlselect.Replace("WHERE AND","WHERE");
   int n=sqlselect.IndexOf("WHERE");
   if(n==sqlselect.Length -5) sqlselect=sqlselect.Remove(n,5) ;
   return GetTable(sqlselect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static LOAI_BAI_VIET Insert_Object(
string  sLOAI_BAI_VIET_ID
            ,string  sTEN_LOAI
            ,string  sSAP_XEP
            ,string  sSU_DUNG
            ) 
 { 
              string tem_sLOAI_BAI_VIET_ID=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sLOAI_BAI_VIET_ID,"int");
              string tem_sTEN_LOAI=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_LOAI,"nvarchar");
              string tem_sSAP_XEP=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sSAP_XEP,"int");
              string tem_sSU_DUNG=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sSU_DUNG,"char");

             string sqlSave=" INSERT INTO LOAI_BAI_VIET("+
                   "LOAI_BAI_VIET_ID," 
        +                   "TEN_LOAI," 
        +                   "SAP_XEP," 
        +                   "SU_DUNG) VALUES("
 +tem_sLOAI_BAI_VIET_ID+","
 +tem_sTEN_LOAI+","
 +tem_sSAP_XEP+","
 +tem_sSU_DUNG +")";
             bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
          LOAI_BAI_VIET newLOAI_BAI_VIET= new LOAI_BAI_VIET();
              newLOAI_BAI_VIET.LOAI_BAI_VIET_ID=sLOAI_BAI_VIET_ID;
              newLOAI_BAI_VIET.TEN_LOAI=sTEN_LOAI;
              newLOAI_BAI_VIET.SAP_XEP=sSAP_XEP;
              newLOAI_BAI_VIET.SU_DUNG=sSU_DUNG;
            return newLOAI_BAI_VIET; 
           } 
           else return null ;
}
//───────────────────────────────────────────────────────────────────────────────────────
public bool  Save_Object(string sLOAI_BAI_VIET_ID
                ,string sTEN_LOAI
                ,string sSAP_XEP
                ,string sSU_DUNG
                ) 
 { 
              string tem_sTEN_LOAI=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_LOAI,"nvarchar");
              string tem_sSAP_XEP=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sSAP_XEP,"int");
              string tem_sSU_DUNG=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sSU_DUNG,"char");

 string sqlSave=" UPDATE LOAI_BAI_VIET SET "+"TEN_LOAI ="+tem_sTEN_LOAI+","
 +"SAP_XEP ="+tem_sSAP_XEP+","
 +"SU_DUNG ="+tem_sSU_DUNG+" WHERE LOAI_BAI_VIET_ID="+MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(this.LOAI_BAI_VIET_ID,"int");;
              bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
                this.TEN_LOAI=sTEN_LOAI;
                this.SAP_XEP=sSAP_XEP;
                this.SU_DUNG=sSU_DUNG;
           } 
 return OK;  }
//───────────────────────────────────────────────────────────────────────────────────────
 #region Update DataColumn  
 public bool Update_LOAI_BAI_VIET_ID(string sLOAI_BAI_VIET_ID)
{
    string sqlSave= " UPDATE LOAI_BAI_VIET SET LOAI_BAI_VIET_ID='"+ sLOAI_BAI_VIET_ID+ "' WHERE LOAI_BAI_VIET_ID='"+ this.LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.LOAI_BAI_VIET_ID=sLOAI_BAI_VIET_ID;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_TEN_LOAI(string sTEN_LOAI)
{
    string sqlSave= " UPDATE LOAI_BAI_VIET SET TEN_LOAI='N"+ sTEN_LOAI+ "' WHERE LOAI_BAI_VIET_ID='"+ this.LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.TEN_LOAI=sTEN_LOAI;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_SAP_XEP(string sSAP_XEP)
{
    string sqlSave= " UPDATE LOAI_BAI_VIET SET SAP_XEP='"+ sSAP_XEP+ "' WHERE LOAI_BAI_VIET_ID='"+ this.LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.SAP_XEP=sSAP_XEP;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_SU_DUNG(string sSU_DUNG)
{
    string sqlSave= " UPDATE LOAI_BAI_VIET SET SU_DUNG='N"+ sSU_DUNG+ "' WHERE LOAI_BAI_VIET_ID='"+ this.LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.SU_DUNG=sSU_DUNG;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 #endregion
 #region Update DataColumn  Static 
 public static bool Update_LOAI_BAI_VIET_ID(string sLOAI_BAI_VIET_ID,string s_LOAI_BAI_VIET_ID)
{
  string sqlSave= " UPDATE LOAI_BAI_VIET SET LOAI_BAI_VIET_ID='"+sLOAI_BAI_VIET_ID+"' WHERE LOAI_BAI_VIET_ID='"+ s_LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_TEN_LOAI(string sTEN_LOAI,string s_LOAI_BAI_VIET_ID)
{
  string sqlSave= " UPDATE LOAI_BAI_VIET SET TEN_LOAI='N"+sTEN_LOAI+"' WHERE LOAI_BAI_VIET_ID='"+ s_LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_SAP_XEP(string sSAP_XEP,string s_LOAI_BAI_VIET_ID)
{
  string sqlSave= " UPDATE LOAI_BAI_VIET SET SAP_XEP='"+sSAP_XEP+"' WHERE LOAI_BAI_VIET_ID='"+ s_LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_SU_DUNG(string sSU_DUNG,string s_LOAI_BAI_VIET_ID)
{
  string sqlSave= " UPDATE LOAI_BAI_VIET SET SU_DUNG='N"+sSU_DUNG+"' WHERE LOAI_BAI_VIET_ID='"+ s_LOAI_BAI_VIET_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
#endregion
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable GetTableAll() 
 {
       return  GetTableAll(null, null);
 }
public static DataTable GetTableAll(string sWhere, params string[] orderFields)
{
   string sqlSelect = " SELECT * FROM LOAI_BAI_VIET";
   if (!string.IsNullOrEmpty(sWhere))
      sqlSelect += " where " + sWhere; 
   string order = "";
   if (orderFields != null && orderFields.Length > 0)
     order = string.Join(",", orderFields);
   if (order != "")
      sqlSelect += " ORDER BY " + order;
   return GetTable(sqlSelect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
public static DataTable GetTableFields(string sWhere, string[] orderFields, params string[] fields)
{
 string field = "";
 if (fields != null && fields.Length > 0)
    field = string.Join(",", fields);
 else field = "*";
 string sqlSelect = string.Format(" SELECT {0} FROM {1} ", field, "LOAI_BAI_VIET");
 if (!string.IsNullOrEmpty(sWhere))
    sqlSelect += " where " + sWhere;
 string order = "";
 if (orderFields != null && orderFields.Length > 0)
    order = string.Join(",", orderFields);
 if (order != "")
    sqlSelect += " ORDER BY " + order;
 return GetTable(sqlSelect,sTableName);
 }
 public static DataTable GetTableFields(params string[] fields)
 {
    return GetTableFields(null, null, fields);
 }
 public static DataTable GetTableFields(string[] orderFields, params string[] fields)
 {
    return GetTableFields(null, orderFields, fields);
 }
//───────────────────────────────────────────────────────────────────────────────────────
   private static DataTable dt_LOAI_BAI_VIET;
   public static bool Change_dt_LOAI_BAI_VIET = true;
   public static bool AllowAutoChange = true;
   public static DataTable get_LOAI_BAI_VIET()
   {
   if (dt_LOAI_BAI_VIET == null || Change_dt_LOAI_BAI_VIET == true)
     {
   dt_LOAI_BAI_VIET = GetTableAll();
         Change_dt_LOAI_BAI_VIET = true && AllowAutoChange ;
     }
     return dt_LOAI_BAI_VIET;
   }
   //───────────────────────────────────────────────────────────────────────────────────────
}  
 } 
